package com.browsesoft.resource;

import javax.servlet.http.HttpServletRequest;

import com.browsesoft.EntityManager;
import com.browsesoft.htmlcomponent.HTMLDBTableMaintenanceModel;
import com.browsesoft.user.User;

/**
 * 可以根据权限进行处理的简单资源列表model
 */
public class ResourceDBTableModel extends HTMLDBTableMaintenanceModel {
	/**
	 * 登陆用户
	 */
	private User user;

	/**
	 * 得到列数
	 * 
	 * @return 列数
	 */
	public int getColumnCount() {
		// 得到要看的资源
		BasicResource res = (BasicResource) EntityManager.getInstance()
				.getObject(this.parentID);
		// 如果登陆用户对给定资源有编辑权限
		if (ResourceTool.hasRight(user, res, new RightType("编辑"))) {
			// 返回带编辑列
			return cnames.size() + 3;
		}
		// 否则
		else {
			// 返回不带编辑列
			return cnames.size() + 1;
		}
	}

	/**
	 * 初始化model
	 * 
	 * @param request
	 *            用户请求
	 * @throws Exception
	 */
	public void init(HttpServletRequest request) throws Exception {
		super.init(request);
		// 得到登陆用户
		user = (User) request.getSession().getAttribute("loginUser");
	}
}